Hitherto, a SIP server has been used which connects between terminals over an IP (Internet Protocol) network by using SIP (Session Initiation Protocol). In the SIP server, an application is implemented which performs processing of sound and/or moving picture communication between the connected terminals. The SIP server performs call control on the basis of the result of analysis on a received SIP signal. The application on the SIP server performs processing on the basis of the result of analysis on a SIP signal by the SIP server.
With reference to FIG. 16, an example of analysis processing on a SIP signal to be performed by the SIP server will be described. FIG. 16 illustrates an example of a SIP signal to be received by a SIP server. The analysis processing on a SIP signal extracts an arbitrary value from a header having a header name and a header value. The header name may be “From”, “Via”, “Max-Forwards” or the like as illustrated in FIG. 16, and “:” after each header name is followed by a header value.
For example, a SIP server extracts “‘abc’ <sip:abc@sipas.fujitsu.com>;tag=1838-a7-2e-8f-cd361869” as the header value corresponding to the header name “From” illustrated in FIG. 16. The SIP server creates an analysis result object having correspondence between the extracted header value “‘abc’ <sip:abc@sipas.fujitsu.com>;tag=1838-a7-2e-8f-cd361869” and the header name “From”.
The SIP signal analysis processing defines the character string of the header name to be analyzed dependent on uppercase letters and lowercase letters under SIP. However, a source terminal transmits a SIP signal having a header name containing a character string generated originally by the terminal independent of the protocol. In other words, a SIP server may receive a header name containing a character string having different sensitivity to uppercase letters and lowercase letters from those of a character string of a header name defined under the SIP protocol.
For example, though the character string of a header name defined under the SIP protocol is “From”, a SIP server may receive a SIP signal having “froM” as the character string of the header name. In this case, the SIP server may be required to perform complicated processing for determining that “froM” corresponds to “From”. More specifically, the SIP server may be required to store information on a combination of all character strings which can be recognized as the defined character string “From” and search “froM” from the stored information.
In this way, in order to prevent the complicated analysis processing on a SIP signal, a well known method has been implemented in which a SIP server coercively converts a header name contained in a received SIP signal to uppercase letters or lowercase letters.
With reference to FIG. 17, there will be described the method which coercively converts a header name contained in a SIP signal to uppercase letters or lowercase letters. FIG. 17 illustrates an example of the method which coercively converts a header name contained in a SIP signal to uppercase letters or lowercase letters. As illustrated in FIG. 17, for example, when a SIP server receives a SIP signal having a header name “froM”, the SIP server may convert the character string of the header name to lowercase letters “from”. The SIP server may convert the character string “From” of the defined header name to lowercase letters “from”. The SIP server may search the header name which is matched with lowercase letters “from” converted from “froM”. The SIP server may determine that the character string “From” of the defined header name is matched with the converted lowercase letters “from”. In other words, the SIP server may determine that the received header name “froM” corresponds to “From”. The SIP server may then create an analysis result object having correspondence between the header value “‘abc’ <sip:abc@sipas.fujitsu.com>;tag=1838-a7-2e-8f-cd361869” extracted from the header name “froM” of the SIP signal and the header name “from” as a result of the conversion to lowercase letters. The same is true in the method which coercively converts the header name contained in a SIP signal to uppercase letters.
Similarly, the complicated processing can be prevented by coercively converting a header name to uppercase letters or lowercase letters by a SIP server if the acquisition of a header value corresponding to the header name is requested from an application present on the SIP server. As illustrated in FIG. 17, for example, if the SIP server is requested to acquire the header value corresponding to the header name “FROM” by an application, the SIP server converts the character string “FROM” to “from”. The SIP server then searches the header name matched with “from” as a result of conversion of the character string “FROM” to lowercase letters from the analysis result object. The SIP server extracts the header value “‘abc’ <sip:abc@sipas.fujitsu.com>;tag=1838-a7-2e-8f-cd361869” corresponding to “from” from the analysis result object and notifies it to the application.